/****************************************************************************************** Import */
import _ from 'lodash';
import Http from './base/http';
import Collect from './helper/colelct';
import Session from '../session';
import Url from '../../../../../config/fixed/url';

/****************************************************************************************** Class */
export default class HttpCollect extends Http {

    /************************************************************************************** 特殊重写方法（为get和post添加config.url前缀） */
    /**
     * get请求，参数请看_request方法
     * 
     * @param {Object} obj 访问请求设置对象 
     */
    static get(obj) {
        obj.url = Url.collect + obj.url;
        super.get(obj);
    }

    /**
     * post请求，参数请看_request方法
     * 
     * @param {Object} obj 访问请求设置对象 
     */
    static post(obj) {
        obj.url = Url.collect + obj.url;
        super.post(obj);
    }

    /************************************************************************************** 必须重写方法 */
    /**
     * 重写父类getHeaders方法
     */
    static getHeaders() {
    
        // 获取session中的headers
        const httpAuths = Session.get('system_http_auths');

        // 判断http auth是否存在
        if (httpAuths == null) console.error('系统没有进行Arrive操作，httpAuths不存在！');
        
        return {
            // "Content-Type": "multipart/form-data ",
            // 'Accept': 'application/json',
            'Authorization': JSON.stringify(httpAuths)
            // 'Authorization': JSON.stringify(auth)
        };
    }

    /**
     * 重写父类parse方法
     * 
     * @param {String} text 从服务器返回的原始字符串
     * @param {Object} obj 设置对象
     */
    static parse(text, obj) {
        
    }
}
